<?php

/**
 * This is the model class for table "{{loan_terms}}".
 *
 * The followings are the available columns in table '{{loan_terms}}':
 * @property integer $loan_term_value
 * @property string $loan_term_name
 * @property integer $is_active
 * @property integer $order_listing
 */
class LoanTerms extends CActiveRecord {

    /**
     * Returns the static model of the specified AR class.
     * @param string $className active record class name.
     * @return LoanTerms the static model class
     */
    public static function model($className = __CLASS__) {
        return parent::model($className);
    }

    /**
     * @return string the associated database table name
     */
    public function tableName() {
        return '{{loan_terms}}';
    }

    public function primaryKey() {
        return 'loan_term_value';
        // For composite primary key, return an array like the following
        // return array('pk1', 'pk2');
    }

    /**
     * @return array validation rules for model attributes.
     */
    public function rules() {
        // NOTE: you should only define rules for those attributes that
        // will receive user inputs.
        return array(
            array('loan_term_value, loan_term_name', 'required'),
            array('loan_term_value, is_active, order_listing', 'numerical', 'integerOnly' => true),
            array('loan_term_name', 'length', 'max' => 200),
            // make sure loan_term_value is unique
            array('loan_term_value', 'unique'),
            // The following rule is used by search().
            // Please remove those attributes that should not be searched.
            array('loan_term_value, loan_term_name, is_active, order_listing', 'safe', 'on' => 'search'),
        );
    }

    /**
     * @return array relational rules.
     */
    public function relations() {
        // NOTE: you may need to adjust the relation name and the related
        // class name for the relations automatically generated below.
        return array(
        );
    }

    /**
     * @return array customized attribute labels (name=>label)
     */
    public function attributeLabels() {
        return array(
            'loan_term_value' => 'Loan Term Value',
            'loan_term_name' => 'Loan Term Name',
            'is_active' => 'Is Active',
            'order_listing' => 'Order Listing',
        );
    }

    /**
     * Retrieves a list of models based on the current search/filter conditions.
     * @return CActiveDataProvider the data provider that can return the models based on the search/filter conditions.
     */
    public function search() {
        // Warning: Please modify the following code to remove attributes that
        // should not be searched.

        $criteria = new CDbCriteria;

        $criteria->compare('loan_term_value', $this->loan_term_value);
        $criteria->compare('loan_term_name', $this->loan_term_name, true);
        $criteria->compare('is_active', $this->is_active);
        $criteria->compare('order_listing', $this->order_listing);

        return new CActiveDataProvider($this, array(
                    'criteria' => $criteria,
                ));
    }

}